home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / vidhrdw / minivadr.c < prev    next >
C/C++ Source or Header  |  2000-04-04  |  2KB  |  76 lines

  1. /***************************************************************************
  2.  
  3. Minivader (Space Invaders's mini game)
  4. (c)1990 Taito Corporation
  5.  
  6. Driver by Takahiro Nogi (nogi@kt.rim.or.jp) 1999/12/19 -
  7.  
  8. ***************************************************************************/
  9.  
  10. #include "driver.h"
  11. #include "vidhrdw/generic.h"
  12.  
  13.  
  14.  
  15. /*******************************************************************
  16.  
  17.     Palette Setting.
  18.  
  19. *******************************************************************/
  20. static unsigned char minivadr_palette[] =
  21. {
  22.     0x00,0x00,0x00,            /* black */
  23.     0xff,0xff,0xff            /* white */
  24. };
  25.  
  26. void minivadr_init_palette(unsigned char *game_palette, unsigned short *game_colortable,const unsigned char *color_prom)
  27. {
  28.     memcpy(game_palette, minivadr_palette, sizeof(minivadr_palette));
  29. }
  30.  
  31.  
  32. /*******************************************************************
  33.  
  34.     Draw Pixel.
  35.  
  36. *******************************************************************/
  37. WRITE_HANDLER( minivadr_videoram_w )
  38. {
  39.     int i;
  40.     int x, y;
  41.     int color;
  42.  
  43.  
  44.     videoram[offset] = data;
  45.  
  46.     x = (offset % 32) * 8;
  47.     y = (offset / 32);
  48.  
  49.     if (x >= Machine->drv->visible_area.min_x &&
  50.             x <= Machine->drv->visible_area.max_x &&
  51.             y >= Machine->drv->visible_area.min_y &&
  52.             y <= Machine->drv->visible_area.max_y)
  53.     {
  54.         for (i = 0; i < 8; i++)
  55.         {
  56.             color = Machine->pens[((data >> i) & 0x01)];
  57.  
  58.             plot_pixel(Machine->scrbitmap, x + (7 - i), y, color);
  59.         }
  60.     }
  61. }
  62.  
  63.  
  64. void minivadr_vh_screenrefresh(struct osd_bitmap *bitmap, int full_refresh)
  65. {
  66.     if (full_refresh)
  67.     {
  68.         int offs;
  69.  
  70.         /* redraw bitmap */
  71.  
  72.         for (offs = 0; offs < videoram_size; offs++)
  73.             minivadr_videoram_w(offs,videoram[offs]);
  74.     }
  75. }
  76.